package com.company;

//给定一个 n 个元素有序的（升序）整型数组 nums 和一个目标值 target  ，写一个函数搜索 nums 中的 target，如果目标值存在返回下标，否则返回 -1。
//
//来源：力扣（LeetCode）
//链接：https://leetcode-cn.com/problems/binary-search
//著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
public class Leetcode704 {
    public int search(int[] nums, int target) {
        int l=0,r=nums.length-1;
        return search(nums,target,l,r);
    }

    public int search(int[] nums, int target,int l,int r) {
        if(l>r) {
            return -1;
        }
        int mid=l+(r-l)/2;
        if(nums[mid]==target){
            return mid;
        }else if(nums[mid]<target){
            return search(nums,target,mid+1,r);
        }
        return search(nums,target,l,mid-1);
    }
}
